#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<bitset>
#include<vector>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define rep(i,a,b) for(register int i = (a);i <= (b);++i)
#define per(i,a,b) for(register int i = (a);i >= (b);--i)  
typedef long long ll;
typedef unsigned long long ull;
using std::string;using std::cin;using std::cout;

const int N = 1e5+10;
int n;
double B;

struct node{
    double x,y;
}mp[N*2];

int main(){
    std::ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    // freopen("in.in", "r", stdin);
    cin >> n >> B;
    rep(i,1,n) cin >> mp[i].x >> mp[i].y;
    double ans = 0.0;
    rep(i,1,n-1) ans += mp[i].x*mp[i+1].y - mp[i+1].x*mp[i].y;
    ans += -mp[1].x*mp[n].y + mp[n].x*mp[1].y;
    printf("%.4lf\n",std::abs(ans)*0.5*B);
    return 0;
}